﻿using System;
using System.Data;
using KPIS.GERP.GFMS.MODEL;
using System.Collections.Generic;

namespace KPIS.GERP.GFMS.IBLL
{
    public interface IBLL_FIM_Receives
    {
        IList<M_FIM_Receives> GetFull(string bgm_source_seq, string work_area_seq, string bgm_year);
        IList<M_FIM_Receives> GetFull(string bgm_source_seq, string work_area_seq, string bgm_year,string receive_mode);
        DataTable GetFullPrepare(string bgm_source_seq, string work_area_seq, string bgm_year, string source, string receive_seq);
        IList<M_FIM_Receives> GetNotDeposits(string bgm_source_seq, string work_area_seq, string bgm_year
            , string transfer_seq);

        IList<M_FIM_Receives> GetPayments(int pay_seq);
        IList<M_FIM_Receives> GetNotPayments(string bgm_source_seq, string work_area_seq, string bgm_year
            , string pay_seq);
        IList<M_FIM_Receives> GetNotPaymentBacks(string bgm_source_seq, string work_area_seq, string bgm_year
            , string pay_seq);
        IList<M_FIM_Receives> GetList(string bgm_source_seq, string work_area_seq, string bgm_year);
        M_FIM_Receives GetInfo(string seq);
        M_FIM_Receives GetInfoFromPetition(string petition_seq);
        //string SelectRecentInsertedRoleSeq();

        DataTable Report_Receipt(string seq);
        DataTable Report_SumUpReceive(string date);
        DataTable Report_SumUpReceiveFT(string dateFrom, string dateTo, string bgm_source);

        string Insert(M_FIM_Receives info);
        void Update(M_FIM_Receives info);
        void Delete(M_FIM_Receives info);
        void UpdateGlTranSeq(M_FIM_Receives info);
        void UpdateDepositSeq(M_FIM_Receives info);
        void DeleteDepositSeq(M_FIM_Receives info);
        void UpdatePaySeq(M_FIM_Receives info);
        void UpdateReceiptNo(M_FIM_Receives info);
        DataTable PrintCheqe(DateTime RecieveDate);
        void UpdatePrintOut(int updated_by, DateTime? receive_date, int print_out, string receive_seq);
        //Adding on 13/06/57
        DataTable PrintHAInvoice(DateTime RecieveDate);
    }
}
